package org.zsk.fastdev.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 参数映射注解，标识vo类参数在实体po类中的映射关系
 * @author zsk
 * @version 1.0
 * Create on 2019/12/22
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface FieldMap {
	String COMPARATOR = "comparator";
	String MAP_FIELD_NAME="mapFieldName";

	/**
	 * 所属实体路径,默认当前实体（默认值:*),路径用"."划分。
	 * @return 所属实体路径
	 */
	String mapEntityPath() default "*";
	/**
	 * 参数映射名称，默认名称相同（默认值:*)
	 * @return 参数映射名称
	 */
	String mapFieldName() default "*";
	/**
	 * 所属实体路径别名,路径别名用"."划分。
	 * @return 所属实体路径别名
	 */
	String alias() default "";
	/**
	 * 与所属实体相应参数比较关系（默认值：=),包含：>、<、<=、>=、like、!=
	 * @return 比较关系符
	 */
	String comparator() default "=";
}
